Apache ANT-এ macrodef
টাস্কটি কাস্টম মাক্রো তৈরি করার জন্য ব্যবহৃত হয়, যা পুনরায় ব্যবহারের জন্য একটি কোড ব্লক তৈরি করে। মাক্রো (macro) হল একটি টাস্কের সেট যা পুনরায় ব্যবহারযোগ্য এবং আপনি বারবার সেই টাস্কগুলির জন্য কোড লিখতে না গিয়ে বিভিন্ন স্থানে একে ব্যবহার করতে পারেন।
macrodef
টাস্কটি আপনাকে নতুন টাস্ক তৈরি করতে দেয় যা একটি নির্দিষ্ট প্রপার্টি বা আর্গুমেন্ট গ্রহণ করতে পারে, এবং এটি অন্য টাস্কগুলির মতোই কাজ করতে পারে।
macrodef
Task এর মূল বৈশিষ্ট্য:macrodef
টাস্কের মধ্যে আপনি অ্যাট্রিবিউট ব্যবহার করে কাস্টম ভ্যালু বা প্যারামিটার পাঠাতে পারেন।macrodef
Syntax:macrodef
টাস্কের মূল গঠন হলো:
<macrodef name="macroName">
<attribute name="attributeName" />
<sequential>
<!-- Your tasks here -->
</sequential>
</macrodef>
এখানে,
name
: এটি মাক্রোর নাম।attribute
: এটি মাক্রোর জন্য প্যারামিটার বা অ্যাট্রিবিউট। এক বা একাধিক অ্যাট্রিবিউট নির্ধারণ করা যেতে পারে।sequential
: এটি সেই সমস্ত টাস্কগুলির একটি ব্লক যা মাক্রোর অংশ হিসেবে চালানো হবে।macrodef
ব্যবহার করার উদাহরণ:<project name="Macrodef Example" default="example">
<target name="example">
<!-- macrodef তৈরি -->
<macrodef name="sayHello">
<attribute name="name"/>
<sequential>
<echo message="Hello, ${name}!"/>
</sequential>
</macrodef>
<!-- মাক্রো কল করা -->
<sayHello name="John"/>
<sayHello name="Alice"/>
</target>
</project>
এখানে,
sayHello
মাক্রো তৈরি করা হয়েছে যা name
অ্যাট্রিবিউট নেয়।echo
টাস্কটি ব্যবহার করে মাক্রোটি "Hello, John!" এবং "Hello, Alice!" মেসেজ প্রদর্শন করে।sayHello
মাক্রোটি দুইবার কল করা হয়েছে, প্রতিবার আলাদা নাম দিয়ে।Hello, John!
Hello, Alice!
<project name="Macrodef Condition Example" default="example">
<target name="example">
<!-- macrodef তৈরি -->
<macrodef name="greet">
<attribute name="name"/>
<attribute name="greeting" />
<sequential>
<echo message="${greeting}, ${name}!"/>
</sequential>
</macrodef>
<!-- মাক্রো কল করা -->
<greet name="John" greeting="Good morning"/>
<greet name="Alice" greeting="Hello"/>
</target>
</project>
এখানে,
greet
নামক একটি মাক্রো তৈরি করা হয়েছে যা দুটি অ্যাট্রিবিউট: name
এবং greeting
গ্রহণ করে।echo
টাস্কের মাধ্যমে একটি কাস্টম বার্তা প্রদর্শন করে।Good morning, John!
Hello, Alice!
macrodef
এর অন্যান্য ব্যবহার:আপনি macrodef
ব্যবহার করে কিছু শর্ত পরীক্ষার জন্য একাধিক টাস্ক একসাথে সাজাতে পারেন।
<project name="Macrodef Condition Example" default="build">
<target name="build">
<macrodef name="buildProject">
<attribute name="buildName"/>
<sequential>
<echo message="Starting build for project: ${buildName}"/>
<mkdir dir="build/${buildName}"/>
<touch file="build/${buildName}/file.txt"/>
</sequential>
</macrodef>
<!-- মাক্রো কল -->
<buildProject buildName="ProjectA"/>
<buildProject buildName="ProjectB"/>
</target>
</project>
এখানে,
buildProject
মাক্রোটি একটি প্রজেক্ট তৈরি এবং সংশ্লিষ্ট ডিরেক্টরি তৈরি করে।mkdir
এবং touch
টাস্কগুলি একত্রে কাজ করছে।Starting build for project: ProjectA
Starting build for project: ProjectB
macrodef
এবং sequential
এর সমন্বয়:sequential
ট্যাগের মধ্যে আপনি একাধিক টাস্ক যুক্ত করতে পারেন। এটি একাধিক টাস্ক চালানোর জন্য একটি ব্লক হিসেবে কাজ করে।macrodef
এর সুবিধা:macrodef
টাস্ক Apache ANT-এ কাস্টম টাস্ক তৈরি করার জন্য ব্যবহৃত হয়, যা পুনরায় ব্যবহারযোগ্য এবং নমনীয়।macrodef
আপনাকে প্রকল্পে কোডের পুনঃব্যবহারযোগ্যতা এবং গঠনশীলতা প্রদান করে, যা বৃহৎ প্রকল্পে অত্যন্ত উপকারী।common.read_more